Location-based sharing of multimedia control resources

ABSTRACT

In one embodiment, a multimedia resource is shared among a plurality of devices based upon a physical location of an active wireless endpoint unit within a structure. Devices are associated with corresponding zones within the structure. Each device provides functionality within the device&#39;s corresponding zone. Using one of a number of techniques, the physical location of the active wireless endpoint unit is determined to be within a particular zone. In response, one or more devices associated with the particular zone are provided with access to the multimedia control resources. Access is withheld to one or more other devices associated with another zone that is remote from the physical location of the active wireless endpoint unit.

RELATED APPLICATIONS

The present application is a continuation of U.S. patent applicationSer. No. 12/204,032, titled “Location-Based Sharing of MultimediaControl Resources”, filed on Sep. 4, 2008 by Michael E. Noonan et al.,the contents of which are incorporated by reference herein in theirentirety.

BACKGROUND

1. Technical Field

The present disclosure relates generally to multimedia control and morespecifically to sharing a limited number of multimedia control resourceamong a greater number of devices based upon the physical locations ofone or more active wireless endpoint units within a structure.

2. Background Information

As consumer electronic devices become more complicated, the burden ofcontrolling such devices has also increased. To partially address thisissue, a number of advanced control systems have been developed thatattempt to coordinate the operation of multiple consumer electronicdevices, while providing a unified, and hopefully intuitive, controlinterface to a user.

For example, a variety of control systems have been developed to controlaudio/video (A/V) components, home lighting devices, home automationdevices and other types of electronic devices. Such control systems mayinclude one or more centrally located, or distributed, controllers,coupled to devices arrayed throughout a structure, for example a user'shome. For instance, a first room of the structure may include a displaydevice, such as a television or monitor, and one or more content sourcedevices, such as a DVD player, a cable box, a media server, etc.Similarly, a second room of the structure may also include a displaydevice, and possibly one or more content source devices. A controllermay be coupled to each of these devices, and control, switch signalsbetween and/or otherwise interoperate with the devices. A user mayinteract with the controller, rather than the individual devices undercontrol. The controller then, in turn, generates appropriate controlsignals and disseminates these signals to the devices, switches databetween the devices, and otherwise causes the devices to operate in adesired manner.

In order to control, switch data between and/or otherwise interoperatewith devices, the controller may make use of a number of multimediacontrol resources. As used herein, the term “multimedia controlresource” should be interpreted broadly to encompass a variety of typesof special-purpose circuitry, for example, circuitry including one ormore application-specific integrated circuits (ASICs) or configuredprogrammable is logic devices (PLDs), as well as general-purposecircuitry, for example, circuitry including one or more processorscapable of executing differing software instructions to performdiffering tasks, as well as executing software modules, for example,instances of a class in an executing object oriented software program,wherein the special-purpose circuitry or general-purpose circuitry orsoftware modules are operable to perform a function relating to control,switching, or interoperation with one or more devices under control of acontroller.

In conventional controllers, a separate multimedia control resource maybe provided for each device under the control of the controller that mayutilize that type of multimedia control resource. That is, there may bea one-to-one correspondence between a particular type of multimediacontrol resource and devices that may use that type of resource, up to amaximum number of devices that are supported by the controller. Such aone-to-one arrangement may advantageously allow devices to utilizemultimedia control resources whenever they may need to do so, absent anyneed for resource arbitration. However, overshadowing this advantage,there are a number of significant shortcomings.

Certain hardware-based multimedia control resources may be quite complexand accordingly costly to manufacturer. Thus, to provide a dedicatedmultimedia control resource for each device that may make use of thattype of resource may be quite expensive. This cost typically becomesincorporated into the eventual retail price of the controller. Further,some hardware-based multimedia control resources may consume significantphysical space. For example, the circuitry of a particular multimediacontrol resource may require a significant footprint on one or morecircuit boards. In some controllers, internal component space may be ata premium, and space consumed to provide a dedicated control resourcefor each device may necessitate tradeoffs in other features that may notbe included in the controller. Similarly, certain software-basedmultimedia control resources may consume significant memory and/orprocessing capacity of a controller. Accordingly, to provide a softwarebased-multimedia control resource for each device may necessitate theuse of larger memories and faster processors in the controller, againincreasing expense. Likewise, certain software-based multimedia controlresources may be subject to certain restrictive licenses. In some cases,to instantiate additional instances of a software-based resource mayrequire the payment of additional licensing fees.

Certain prior controllers have attempted to address these shortcomingsby sharing some types of multimedia control resources according tovarious schemes. However, these prior schemes have largely proveninadequate. Typically, sharing of multimedia control resources has beenbased upon manual selections entered by a user. For example, a user hasmanually selected a device with which a multimedia control resource isused. Such manual selection places an increased burden upon the user.Further, incorrect selection may cause the controller to operate in anundesired manner. For example, an unsophisticated user, or a userunfamiliar with the particular controller and the devices coupledthereto, may incorrectly select a device, leading to unexpected resultsand frustration.

Accordingly, there is a need for an improved system and method thatallows for more efficient utilization of multimedia control resources.

SUMMARY

The shortcomings of the prior art are addressed in part by a system andmethod for sharing one or more multimedia control resources among aplurality of devices based upon the physical location of one or moreactive wireless endpoint units within a structure. By determining thephysical locations of the one or more active wireless endpoint units,the physical locations of users in the structure may be approximated. Acontroller provides access to multimedia control resources to thosedevices that provide functionality to portions of the structureproximate users' approximated locations. Devices that providefunctionality to other, remote portions of the structure are assumed tobe idle, and the controller withholds access to multimedia controlresources from these devices. As the physical locations within thestructure of the one or more active wireless endpoint units change, thecontroller redistributes access to the multimedia control resources. Inthis manner, multimedia control resources are automatically madeavailable to those devices that are likely to actively require them,enabling a limited number (M) of multimedia control resources to beshared by a larger number (N) of devices, absent manual user selection.

In the preferred embodiment, the controller is a programmable multimediacontroller and the multimedia control resources are on-screen display(OSD) processing modules that mix graphics, for example, graphicsrepresenting an on-screen display, with video images, for example,images of a full-motion video. The location of each wireless endpointunit may be determined using a combination of two types of wirelesscommunication. A plurality of zone beacons, positioned at differinglocations within the structure, each continuously blanket a limitedregion (i.e., zone) with short-range wireless signals, for example, withinfrared (IR) signals. These signals may include a zone identifier (ID)that identifies the physical location of the zone, and a wireless bridgeID that identifies a particular wireless bridge.

A wireless endpoint unit receives a short-range wireless signal from azone beacon of the zone in which it is currently located. The wirelessendpoint then communicates, via long-range wireless signals, with awireless bridge corresponding to the wireless bridge ID. The wirelessendpoint unit transmits the zone ID it received in the short-rangewireless signal, thereby identifying the zone in which it is currentlylocated. This information is then passed from the wireless bridge to theprogrammable multimedia controller. In response, the programmablemultimedia controller switches a video source device associated with thezone to a video connection of an OSD processing module. Further, theprogrammable multimedia controller switches the output connection of theOSD processing module to a display device associated with the zone. Inthis manner, an OSD processing module is made available for use in theparticular zone, while access to the OSD processing module may bewithheld from one or more other zones.

BRIEF DESCRIPTION OF THE DRAWINGS

The description below refers to the accompanying drawings, of which:

FIG. 1 is a block diagram of an example programmable multimediacontroller interconnected to a number of example devices;

FIG. 2 is a schematic block diagram of an example hardware architectureof the programmable multimedia controller;

FIG. 3 is a schematic block diagram of an example OSD processing module;

FIG. 4 is a schematic block diagram of an example wireless locationdetermination architecture; and

FIG. 5 is a flow diagram of an example sequence of steps to share one ormore multimedia control resource among a plurality of devices (or devicegroups) based upon the physical locations of one or more active wirelessendpoint units.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of an example programmable multimediacontroller 100 interconnected to a number of devices. The term“programmable multimedia controller” should be interpreted broadly as adevice capable of controlling, switching data between, and/or otherwiseinteroperating with a variety of electrical and electronic devices, suchas audio, video, telephony, data, security, motor-operated,relay-operated, and/or other types of devices.

The programmable multimedia controller 100 may connect to a wide rangeof audio and video components, for example, compact disk (CD) players105, digital video disc (DVD) players 110, digital video recorders(DVRs) 112, cable boxes 113, audio/video receivers 115, display devices120, such as televisions or monitors, personal media players 125,speakers 122, microphones 123, and/or video cameras 124. Theprogrammable multimedia controller 100 may also connect to telephonydevices, such as a telephone network 130 and/or telephone handsets 132.The telephone network 130 may be a publicly switched telephone network(PSTN), an Integrated Services Digital Network (ISDN), or another typeof communications network.

In addition, the programmable multimedia controller 100 may connect to avariety of lighting and/or home automation systems 135. These devicesmay operate via the X10 protocol developed by Pico Electronics, theINSTEON™ protocol developed by SmartHome, Inc., RS232, or another wellknown automation or control protocol. Similarly, the controller 100 mayconnect to motor and/or relay operated devices 137, for example, aheating, ventilation, and air conditioning (HVAC) system, an irrigationsystem, an automatic window shade or window blind system, and/or othertypes of systems and devices.

A computer network, such as the Internet 140, preferably connects to theprogrammable multimedia controller 100. In addition, one or morepersonal computers (PCs) 145, video game systems 150, home or studiorecording equipment 165, or other devices, connect to the controller100.

As discussed below, in some embodiments, the programmable multimediacontroller may be coupled to one or more external wireless bridges 430.Such wireless bridges may communicate with wireless endpoint units 170,which may be used to manage, or to permit other devices to be used tomanage, the controller's functionality. As used herein, the term“wireless endpoint unit” should be interpreted broadly to encompasswireless human-machine interface devices, for example, wireless remotecontrol units, wireless keypad units, wireless keyboards, wireless mice,etc., as well as wireless adaptors that couple to a unit that provides ahuman-machine interface, for example serial port adaptors, infrared (IR)port adapters, Universal Serial Bus (USB) adaptor, or other types ofadaptors that couple to a device that includes a human-machineinterface.

FIG. 2 is a schematic block diagram of an example hardware architecture200 of the example programmable multimedia controller 100. The variouscomponents shown may be arranged on a “motherboard” of the controller100, or on a plurality of circuit cards interconnected by a backplane(not shown). A microcontroller 210 manages the general operation of thecontroller 100. The microcontroller 210, is coupled to an audio switch215 and a video switch 220 via a bus 218. The audio switch 215 and thevideo switch 220 are preferably crosspoint switches capable of switchinga number of connections simultaneously. However, many other types ofswitches capable of switching digital signals may be employed, forexample Time Division Multiplexing (TDM) switches or other devices.Further, while two separate switches 215, 220 are shown, audio and videoswitching may be consolidated into a single switch that supportsswitching of both types of data.

A mid plane 235 interconnects the audio and video switches 215, 220 to avariety of input and output modules, for example, one or more VideoInput/Output Modules 287, one or more Audio Input/Output Modules 290,and/or one or more other modules 295. Such modules may include a pluralof connection ports that may be coupled to audio and video components,for example, the CD players 105, DVD players 110, DVRs 112, cable boxes113, etc. Further details regarding the operation of the one or moreVideo Input/Output Modules 287, one or more Audio Input/Output Modules290, and/or one or more other modules 295 may be found in Madonna etal., U.S. patent application Ser. No. 11/314,664, filed Dec. 20, 2005and titled “System and Method for a Programmable Multimedia Controller”,the contents of which are incorporated by reference herein.

The mid plane 235 is further coupled to an Ethernet switch 230 thatinterconnects Ethernet ports 232 and a processing subsystem 240 to themicrocontroller 210. In one embodiment, the processing subsystem 240includes one or more “general-purpose computers” 245. A general-purposecomputer 245, as used herein, refers to a device that is configured toexecute a set of instructions, and depending upon the particularinstructions executed, may perform a variety of different functions ortasks. Typically, but not always, a general-purpose computer 245executes a general-purpose operating system, such as the Windows®operating system, available from Microsoft Corporation, the Linux®operating system, available from a variety of vendors, the OSX®operating system, available from Apple Inc., or another operatingsystem. A general-purpose computer 245 may have any of a variety of formfactors. For example, a general-purpose computer 245 may be a CentralProcessing Unit (CPU) card, a Single Board Computer (SBC), a PC/104processing module, a conventional ATX form factor motherboard and CPU,an “off-the-shelf” small form factor general-purpose personal computerincluding a case, power supply, and other accessories, an“off-the-shelf” large form factor general-purpose personal computerincluding a case, power supply, and other accessories, and/or arack-mount general-purpose personal computer including a case, powersupply, and other accessories. The general-purpose computer 245 mayinclude a storage device, for example a hard drive, a Compact Discread-only memory (CDROM) drive, a Flash memory, or other type of storagedevice, and/or may be interconnected to a storage device providedelsewhere in the processing subsystem 240.

The processing subsystem 240 preferably has one or more graphics outputs241, 242 such as analog Video Graphics Array (VGA) connectors, DigitalVisual Interface (DVI) connectors, Apple Display Connector (ADC)connectors, or other type of connectors, for supplying graphics. Suchgraphics outputs 241, 242 may, for example, be supplied directly fromthe one or more general-purpose computers 245 of the processingsubsystem 240. As used herein, the term “graphics” should be interpretedbroadly to encompass a wide variety of computer graphics, text, video,still images, or other types of visual data, represented in any of avariety of different color spaces and color depths. The graphics fromthe processing subsystem 240 are preferably passed to the video switch220 and then switched to other parts of the programmable multimediacontroller 100.

The example programmable multimedia controller 100 may also include amemory card interface and a number of Universal Serial Bus (USB) ports242 interconnected to a USB hub 243. Such USB ports 242 may be couple toexternal devices, for example to an external wireless bridge 430 orother types of device. A USB switch 244 is employed to switch USBsignals received at the hub to the processing subsystem 240. In asimilar manner, a number of IEEE 1394 (FireWire™) ports 246 may becoupled to external devices and pass data to an IEEE 1394 hub 247 and toan IEEE 1394 switch 248, for switching to the processing subsystem 240.

The microcontroller 210 is further connected to a Serial PeripheralInterface (SPI) and Inter-Integrated Circuit (I²C) distribution circuit250, which provides a serial communication interface to relatively lowdata transfer rate devices. The SPI/I²C controller 250 is connected tothe mid plane 235 and thereby provides control commands from themicrocontroller 210 to the modules 287, 290, 295 of the programmablemultimedia controller 100. The SPI/I²C controller 250 may also providecontrol commands to an internal wireless bridge 430, whose operation isdiscussed in more detail below. Further, connections from the SPI/I²Ccontroller 250 are provided to components such as a fan controller 251,a temperature sensor 252, and a power manager circuit 253, whichcollectively manage the thermal characteristics of the programmablemultimedia controller 100.

The microcontroller 210 is also connected to a device control interface275 that communicates with lighting, home automation, and motor and/orrelay operated devices, a telephone interface 270 that may be coupled toa telephone network and/or telephone handsets. Further, an expansionport 280 is provided for linking several programmable multimediacontrollers 100 together, to form an expanded system, while a frontpanel display 285, for example a touch screen Liquid Crystal Display(LCD) display, is provided to display status, configuration, and/orother information to a user, as well as to accept user input.

The example programmable multimedia controller 100 may includeinternally, or be coupled to, one or more multimedia control resources.As discussed above, the term “multimedia control resource” should beinterpreted broadly to encompass a variety of types of special-purposecircuitry, for example, circuitry including one or moreapplication-specific integrated circuits (ASICs) or configuredprogrammable logic devices (PLDs), as well as general-purpose circuitry,for example, circuitry including one or more processors capable ofexecuting differing software instructions to perform differing tasks, aswell as executing software modules, for example, instances of a class inan executing object oriented software program, wherein thespecial-purpose circuitry or general-purpose circuitry or softwaremodules are operable to perform a function relating to control,switching, or interoperation with one or more devices under control of acontroller. Thus, depending on the embodiment, the multimedia controlresources may take on a variety of different forms. For example, in someembodiments, the multimedia control resources may be one or moregeneral-purpose computers 245. Likewise, in another embodiment,multimedia control resources may be audio processing and/or controlcircuitry on an Audio Input/Output module 290. Similarly, in yet anotherembodiment, the multimedia control resources may be an instance of asoftware-based surround sound decoder.

In the preferred embodiment, however, the multimedia control resourcesare on-screen display (OSD) processing modules that mix graphics, forexample, graphics representing an interactive on-screen display, withvideo images, for example, images of a full motion video.

FIG. 3 is a schematic block diagram of an example OSD processing module300. The OSD processing module 300 may be a portion of a videoinput/output module 287, may be a separate module 295, may be located inan external device coupled to the programmable multimedia controller 100via an appropriate interface, or otherwise included in, or accessible,to the controller.

A graphics connection 310 receives graphics, such as computer graphics,text, full-motion video, still images, or other types of visual data.While these graphics may depict any type of representation, in thepreferred embodiment, they depict an interactive on-screen display (OSD)comprising menus, status information, and/or other type of interfaceitems. Such graphics may originate from a graphics output 241, 242 ofthe processing subsystem 240, and may be switched to the OSD processingmodule 300 via the video switch 220. The graphics may be reformattedand/or subject to color space conversion by a receiver (not shown) ofthe module 300, in some cases.

In addition to the graphics connection 310, a video connection 340 ofthe OSD processing module 300 may receive video images, for example,images of a full-motion video. Such video images may originate from anexternal video source coupled to the programmable multimedia controller100, for example, from an external DVD player 110, cable box 113, DVR112, or another type of external video source, or from an internal videosource located within the controller 100. Like the graphics signals, thevideo signals may be switched via the video switch 220 to the videoconnection 340 of the OSD processing module 300. The video images may bereformatted and/or subject to conversion by an appropriate receiver (notshown), in some cases.

Further, one or more control connections 320 may pass control signals,such as SPI and/or I²C signals, between the microcontroller 210 and amodule control interface 330 of the OSD processing module 300. Themodule control interface 330, in response to the control signals, isconfigured to issue appropriate control commands to the other componentsin the OSD processing module 300.

At the heart of the OSD processing module 300 is a video processor 360and a video mixer 350. The video processor 360, in one configuration, isa 10-bit single-chip dual-channel image processor. The video processor360 receives video images and performs a variety of scaling,de-interlacing, noise reduction, detail enhancement, brightness control,contrast control, color control and/or other types of processing uponeach video image. Video images may be temporarily stored in an imageframe buffer 365, such as a double data rate (DDR) synchronous dynamicrandom access memory (SDRAM). These video images are then passed to thevideo mixer 350 along a video image link 362.

The video mixer 350 may be a PLD, for example a field programmable gatearray (FPGA), yet alternately may be a purpose-built chip, such as anapplication specific integrated circuit (ASIC), a collection of severalchips on a circuit board, and/or another type of device. A graphicsframe buffer 355, such as a double data rate (DDR) synchronous dynamicrandom access memory (SDRAM), interconnected to the video mixer 350,provides temporary storage of graphics.

The video mixer 350 may mix graphics, for example graphics originatingfrom the processing subsystem 240, with video images, for example videoimages originating from an external video source, according to a colorkeying technique. Such technique allows graphics to be mixed with videoimages in any desired region(s), the region(s) chosen on apixel-by-pixel (or near pixel-by-pixel) basis. In brief, keying andmixing logic internal to the video mixer 350 looks to keying informationincorporated into each graphics frame to determine where graphics shouldbe displayed, and where a video image should be displayed. The source ofthe graphics, for example, the processing subsystem 240, sets colorvalues of the pixels in each graphics frame according to a keyingscheme. Specifically, where a video image is desired to be displayed,pixel color values are changed in the graphics frame to one or morepredetermined color values. The keying and mixing logic recognizes thatpixels are changed to the one or more predetermined color values, andmixes the graphics and the video images in response. In this manner, amixed image is created that may be displayed to a user. For example,this mixed image may depict an OSD overlaid upon full-motion video,allowing a user to view and/or interact with the OSD while the video isstill at least partially visible. Further details regarding theoperation of the video mixer 350, and the color keying and mixingtechnique, may be found in Madonna et al., U.S. patent application Ser.No. 11/687,511, filed on Mar. 16, 2007 and titled “System and Method forMixing Graphics with Video Images or Other Content,” which isincorporated by reference herein.

A mixed graphics and video signal is output from the video mixer 350 viaan output connection 370. Such a signal may be passed from the OSDprocessing module 300 to the video switch 220, and thereafter switchedto an appropriate device, for example a display device such as atelevision or monitor, coupled to a video input/output module 287, orotherwise accessible from the programmable multimedia controller 100. Auser may then view and interact with the OSD.

Typically, a user interacts with an OSD by viewing a display device andmanipulating a human-machine interface. Such a human-machine interfacemay be provided directly on a wireless endpoint unit 170. For example,if the wireless endpoint unit 170 is a wireless remote control unit, awireless keypad unit, or similar unit, a user may manipulate buttons,sensors or other controls on the unit in response to what they view onthe OSD. Similarly, if the wireless endpoint unit 170 is a wirelessadaptor coupled to a unit that provides a human-machine interface, auser may manipulate this separate unit, and control commands from thisseparate unit may be converted into wireless signals by the adaptor, formaking selections in response to the OSD. In this manner, a user mayutilize wireless endpoint units 170, in conjunction with the OSD, tocontrol the programmable multimedia controller 100, which in turncontrols the devices under its control.

Users may desire to be able to view an OSD using differing displaydevices throughout a structure, such as their home. However, at anyparticular instant in time, users will typically only be viewing a smallnumber (M) of display devices within the structure. That is, while it isdesirable to have an OSD accessible on a large number (N) of displaydevices, concurrent use of an OSD on all these display devices typicallydoes not occur. Only a small number (M) of display devices willtypically display an OSD at any particular instant in time. Suchbehavior is common for other types of multimedia control resources,where typically only a small number (M) of devices require access tomultimedia control resources at a time. Thus, it is desirable to supportN devices (or device groups) using only M multimedia control resources.

Sharing of M multimedia control resources, such as an OSD processingmodules, among N devices (or device groups) is preferably based upon thephysical locations of one or more active wireless endpoint units 170within a structure. By determining the physical locations of the activewireless endpoint units, the physical locations of users in thestructure may be approximated. The programmable multimedia controller100 only provides access to multimedia control resources to devices (ordevice groups) that are located proximate to, or are configured toprovide functionality proximate to, the approximated users' locations.For instance, an OSD processing module may be switched to output mixedgraphics and video signals to a display device located in a particularroom in which a user is believed to be located, and to receive a videosignal from a video source, such as a cable box, associated with thedisplay device in that room. Devices (or device groups) that providefunctionality to other remote portions of the structure are assumed tobe idle, and the programmable multimedia controller 100 withholds accessto multimedia control resources from these devices. For instance, accessto an OSD processing module may be withheld from a display device, andassociated video source, located in a room distant from the approximatedlocations of any users. As the physical location of the one or moreactive wireless endpoint units changes, the programmable multimediacontroller 100 continuously redistributes access to the multimediacontrol resources. In this manner, M multimedia control resources, suchas OSD processing modules, may efficiently support N devices (or devicegroups) that utilize that type of resource.

In the preferred embodiment, the location of active wireless endpointunits 170 is determined using a combination of two types of wirelesscommunication. FIG. 4 is a schematic block diagram of an examplewireless location determination architecture. A plurality of zonebeacons 410, 415, 420 are positioned at differing locations within astructure, for example in differing rooms of a home. The zone beaconsmay be stand alone devices, or may be incorporated into other devices,for example into a display device, a content source device, etc. Each ofthe zone beacons 410, 415, 420 includes a short-range wirelesstransmitter 412, 417, 422. In the preferred embodiment, the short-rangewireless transmitters are IR blasters that include a plurality of IRtransmitters that continuously blanket a limited region (i.e., zone)about the zone beacon with IR signals. Alternately, however, theshort-range wireless transmitters may be differing types of transmitter,for example, Bluetooth transmitters, Wireless USB transmitters, Wibreetransmitters, low-power RF transmitters, or other types of short-rangewireless transmitters.

Collectively the zone beacons 410, 415, 420 divide the structure into anumber of zones, each zone blanketed with a short-range wireless signalfrom a differing zone beacon. The signal from each zone beacon includesa zone identifier (ID) that identifies the physical location of the zonebeacon 410, 415, 420. The signal from each zone beacon may also includea wireless bridge ID, which uniquely identifies a particular wirelessbridge 430, of one or more wireless bridges, positioned within thestructure.

Each wireless bridge 430 may be an internal component of a programmablemultimedia controller 100 or another host device, or alternately may belocated externally and coupled thereto, via a data link, for example, aUSB link or an Ethernet link. A wireless bridge 430 includes amicrocontroller 440, for example, a programmable system-on-chip (PSoC),as well as a long-range wireless transceiver 450. The range of thelong-range wireless transceiver 450 may be enhanced by use of a wirelesssignal power amplifier 455, and, in some configurations, a high-gainantenna 460. In this manner, the long-range wireless transceiver 450 maycommunicate with devices located across a plurality of different zones.

In the preferred embodiment the long-range wireless transceiver 450 is aRF transceiver. Alternately, however, the long-range wirelesstransceiver 450 may be a different type of transceiver, for example, aWi-Fi transceiver, ZigBee transceiver, or another type of transceiver.

One or more wireless endpoint units 170 are preferably located withinthe structure. Each wireless endpoint unit 170 may be positioned at arelatively fixed location, or may be movable about the structure by auser, i.e., carried from zone to zone within the structure by a user.Each wireless endpoint unit 170 may include differing componentsdepending on its particular form. For example, if a wireless endpointunit 170 is a human-machine interface device, such as a remote controlunit or keypad, components to support such functionality may be present,while if the wireless endpoint unit is an adapter, differing componentsmay be employed. However, regardless of its particular form, a wirelessendpoint unit 170 generally includes a short-range wireless receiver470, such as an IR receiver, to receive signals from the zone beacon ofthe zone in which the wireless endpoint units 170 is currently located.The short-range wireless receiver 460 is coupled to a microcontroller475, for example, a PSoC, which may read the wireless bridge ID from thesignal. The microcontroller 475 then directs a long-range wirelesstransceiver 480 of the wireless endpoint unit 170 to communicate with,i.e., bind to, a particular wireless bridge 430 that is associated withthe wireless bridge ID. In some configurations, the range of thelong-range wireless transceiver 480 may be enhanced by use of a wirelesspower amplifier 485 and a high-gain antenna 490.

Once bound to a particular wireless bridge 430, the microcontroller 475preferably causes the long-range wireless transceiver 480 to transmitthe zone ID, received in the short-range wireless signal, to thewireless bridge 430, thereby identifying the zone in which the wirelessendpoint unit 170 is currently located. This information is then passed,either directly or indirectly, to the programmable multimedia controller100, where it may be processed and retained, for example, by theprocessing subsystem 240. The wireless endpoint 170 may retransmit thezone ID at predetermined time intervals. Further, in response todetecting the wireless endpoint unit 170 has moved between zones, and isreceiving signals from a new zone beacon, the wireless endpoint 170preferably transmits a new zone ID to the wireless bridge 430.

FIG. 5 is a flow diagram of an example sequence of steps 500 toautomatically share one or more multimedia control resource among aplurality of devices (or device groups) based upon the physical locationof one or more active wireless endpoint units 170. At step 510, theprogrammable multimedia controller 100 may be programmed with, or mayactively determine, which devices (or device groups) are located within,or are configure to provide functionality to, each of the zones within astructure. If such information is actively determined, a techniquesimilar to that used with the wireless endpoint units 170 may beemployed. A device-to-zone mapping is generated which may be retained ina data structure, for example in a database. Such a device-to-zonemapping may be relatively static for some types of devices, while, forother more portable devices, may require periodic update to reflectchanging device locations. At step 520, the controller 100 receives thezone ID of a particular active wireless endpoint unit 170. At step 530,the programmable multimedia controller 100 accesses the device-to-zonemapping and determines which other devices (or device groups) arelocated within, or are configure to provide functionality within theparticular zone. At step 540, the programmable multimedia controller 100provides access to one or more multimedia control resources to devices(or device groups) that have been determined to be located within, orare configure to provide functionality within, the particular zone. Forexample, in the preferred embodiment, where the multimedia controlresources are OSD processing modules 300, the programmable multimediacontroller 100, via the video switch 220, may switch a video sourceassociated with the zone to the video connection 340 of an OSDprocessing module 300. Further, the video switch 220 may switch theoutput connection 370 of the OSD processing module 300 to a displaydevice associated with the zone. In this manner, the OSD processingmodule 300 may be made available for use in the zone. Devices (or devicegroups) that provide functionality to other, remote zones of thestructure are assumed to be idle, and the controller 100 withholdsaccess to multimedia control resources, such as OSD processing modules,from these devices. In this manner, M multimedia control resources, suchas OSD processing modules, may efficiently support N devices (or devicegroups) that utilize that type of resource.

While the above description discusses certain preferred embodiments, itshould be apparent that a number of modifications and/or additions maybe made.

For example, while it is discussed above that each zone beacon 410, 415,420 blankets discrete and separate zones with signals, this may notalways be the case. In some situations, a wireless endpoint unit 170 mayreceive signals from multiple zone beacons. This may be intentional, forexample a multi-zone space may be established, or unintentional, forexample, due to reflections or over-extension of wireless signals. Insome configurations, the wireless endpoint unit 170 may be configured bya user operating a user interface element, for example a button, thatcauses the wireless endpoint 170 to switch among zones, i.e., to switchbetween utilizing the signals from multiple zone beacons.

Further, while it is discussed above that each zone has a single zonebeacon that transmits a particular zone ID, in certain alternateconfigurations, multiple zone beacons may be used within a single zone,each transmitting the same zone ID. In this manner, zones of larger sizemay be established, and/or better signal coverage may be provided withina zone.

Further, while it is discussed above that the location of each wirelessendpoint 170 is determined using short-range wireless communication witha wireless beacon, and long-range wireless communication with a wirelessbridge 430, a variety of other location determination techniques mayalternately be employed. For example, the location of each wirelessendpoint 170 may be determined by triangulation among signals providedby three or more transmitter units. The triangulated location may thenbe transmitted from the wireless endpoint unit 170 to the wirelessbridge 430. Alternately, each wireless endpoint unit 170 may include aglobal positioning system (GPS) receiver that determines a preciselocation from received GPS signals. This location may then betransmitted from the wireless endpoint 170 to the wireless bridge 430.In yet another alternative configuration, the location of each wirelessendpoint unit 170 may be determined by manual means. For example, a usermay manual identify their present position, such as by operating ahuman-machine interface of the wireless endpoint unit 170. This positionmay then be sent to the wireless bridge 430.

Further, while it is discussed above that a multimedia control resourceis shared among a plurality of devices based upon the physical locationof one or more active wireless endpoint units, other types of resourcesmay be shared. For example, in an alternate configuration, a multimediasource resource may be shared using the above described techniques. Asused herein, the term “multimedia source resource” should be interpretedbroadly to encompass a variety of different types of devices that mayprovide multimedia content, for example cable boxes 113, DVD players112, CD players 105, personal computers 145, digital media servers, orother types of devices that may output multimedia content. Further, asused herein, the term “multimedia resource” should be interpreted toencompass both multimedia control resources and multimedia sourceresources, to provide a shorthand reference to such resources.

Additionally, the procedures or processes described above may beimplemented in hardware, software (embodied as a computer-readablemedium having program instructions), firmware, or a combination thereof.A computer-readable medium may take the form of a memory, such as aRandom Access Memory (RAM), a disk, such as a CD-ROM, or otherappropriate tangible form.

Therefore, it should be understood that the above descriptions are meantto be taken only by way of example.

What is claimed is:
 1. A method for sharing a multimedia resource amonga plurality of devices based upon a physical location of a wirelessendpoint unit within a structure, the method comprising: associatingeach of the plurality of devices with a corresponding zone within thestructure, each device to provide functionality within the device'scorresponding zone; determining that the physical location of thewireless endpoint unit is within a first zone within the structure; inresponse to the determining that the physical location of the wirelessendpoint unit is within the first zone, providing, by a controller, oneor more devices associated with the first zone with access to themultimedia resource, and withholding access to the multimedia resourcefrom one or more other devices associated within a second zone withinthe structure that is remote from the physical location of the wirelessendpoint unit; determining that the physical location of the wirelessendpoint unit has changed to be within the second zone; in response tothe determining that the physical location has changed to be within thesecond zone, providing, by the controller, the one or more other devicesthat are associated with the second zone with access to the multimediaresource, and withholding access to the multimedia resource from the oneor more devices that are associated with the first zone, wherein themultimedia resource is separate from the wireless endpoint unit and isoperable to function with the one or more devices associated within thefirst zone or the one or more other devices associated within the secondzone.
 2. The method of claim 1 wherein the wireless endpoint unit is anactive wireless endpoint unit being used by a user, such that thephysical location of the wireless endpoint unit within the structureindicates an approximate physical location of the user within thestructure.
 3. The method of claim 1, wherein the wireless endpoint unitis an active wireless remote control unit.
 4. The method of claim 1,wherein the multimedia resource is a multimedia control resource.
 5. Themethod of claim 1, wherein the multimedia resource is a multimediasource resource.
 6. The method of claim 1, wherein the multimediaresource includes special purpose circuitry and/or general-purposecircuitry operable to function with the one or more devices associatedwithin the first zone or with the one or more other devices associatedwithin the second zone.
 7. The method of claim 1, wherein the one ormore devices and the one or more other devices include one or moredisplay devices.
 8. The method of claim 1, wherein the multimediaresource is one of M multimedia resources, and the plurality of devicesare N devices, wherein M and N are integers and M is less than N.
 9. Themethod of claim 1, wherein the determining that the physical location ofthe wireless endpoint unit is within the first zone comprises: receivinga first short-range wireless signal from a beacon in the first zone, thefirst short-range wireless signal including a zone identifier (ID) thatidentifies the first zone, and the determining that the physicallocation of the wireless endpoint unit has changed to be within thesecond zone comprises: receiving a second short-range wireless signalfrom a zone beacon in the second zone, the second range wireless signalincluding a zone ID that identifies the second zone.
 10. The method ofclaim 9, wherein the determining that the physical location of thewireless endpoint unit is within the first zone further comprises:transmitting from the wireless endpoint unit a long-range wirelesssignal that includes the zone ID that identifies the first zone, and thedetermining that the physical location of the wireless endpoint unit haschanged to be within the second zone comprises: transmitting from thewireless endpoint unit a long-range wireless signal that includes thezone ID from that identifies the second zone.
 11. The method of claim10, wherein the short-range wireless signal includes an infrared (IR)wireless signal and the long-range wireless signal includes a radiofrequency (RF) wireless signal.
 12. The method of claim 1, wherein thedetermining that the physical location of the wireless endpoint unit iswithin the first zone comprises: receiving an indication of the physicallocation is within the first zone on a human-machine interface of thewireless endpoint unit, and the determining that the physical locationof the wireless endpoint unit has changed to be within the second zonecomprises: receiving an indication of the physical location is withinthe second zone on a human-machine interface of the wireless endpointunit.
 13. A system comprising: a wireless endpoint unit that is movableabout a structure by a user; a multimedia resource separate from thewireless endpoint unit, the multimedia resource operable to functionwith one or more devices associated with a first zone within thestructure or with one or more device associated with a second zonewithin the structure; and a controller configured to: learn a physicallocation of the wireless endpoint unit within the structure, in responseto the physical location of the wireless endpoint unit being within thefirst zone within the structure, provide the one or more devicesassociated with the first zone with access to the multimedia resource,and in response to the physical location of the wireless endpoint unitbeing changed to be within the second zone within the structure, providethe one or more other devices that are associated with the second zonewith access to the multimedia resource.
 14. The system of claim 13,wherein the wireless endpoint unit is an active wireless endpoint unitbeing used by the user, such that the physical location of the wirelessendpoint unit within the structure indicates an approximate physicallocation of the user within the structure.
 15. The system of claim 13,wherein the wireless endpoint unit is an active wireless remote controlunit.
 16. The system of claim 13, wherein the multimedia resource is amultimedia control resource.
 17. The system of claim 13, wherein themultimedia resource is a multimedia source resource.
 18. The system ofclaim 13, wherein the multimedia resource includes special purposecircuitry and/or general-purpose circuitry operable to function with theone or more devices associated within the first zone or with the one ormore other devices associated within the second zone.
 19. A systemcomprising: a wireless endpoint unit that is movable about a structure;software configured to in response to the physical location of thewireless endpoint unit being within a first zone within the structure,provide one or more devices associated with the first zone with accessto the multimedia resource, and withhold access to the multimediaresource from one or more other devices associated within a second zonewithin the structure that is remote from the physical location of thewireless endpoint unit; and in response to the physical location hashaving changed within the structure to be within the second zone withinthe structure, provide the one or more other devices that are associatedwith the second zone with access to the multimedia resource, andwithhold access to the multimedia resource from the one or more devicesthat are associated with the first zone, wherein the multimedia resourceis separate from the wireless endpoint unit and is operable to functionwith the one or more devices associated within the first zone or withthe one or more other devices associated within the second zone.
 20. Thesystem of claim 19, wherein the wireless endpoint unit is an activewireless endpoint unit.
 21. The system of claim 19, wherein themultimedia resource is a multimedia control resource.
 22. The system ofclaim 19, wherein the multimedia resource is a multimedia sourceresource.
 23. The system of claim 19, wherein the multimedia resourceincludes special purpose circuitry and/or general-purpose circuitryoperable to function with the one or more devices associated within thefirst zone or with the one or more other devices associated within thesecond zone.